package com.dd.cloud.user.service.product;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
import com.dd.cloud.common.vo.PageReq;
import com.dd.cloud.user.entity.product.ProductBuyRecord;
import com.dd.cloud.user.req.product.ProductBuyRecordDoctorPageReq;
import com.dd.cloud.user.req.product.ProductBuyRecordSystemPageReq;
import com.dd.cloud.user.res.product.ProductBuyRecordBarragePageRes;
import com.dd.cloud.user.res.product.ProductBuyRecordDoctorPageRes;
import com.dd.cloud.user.res.product.ProductBuyRecordSystemDetailRes;
import com.dd.cloud.user.res.product.ProductBuyRecordSystemPageRes;

/**
 * @author Lx
 * @version 1.0
 * @date 2024/1/23
 */
public interface IProductBuyRecordService extends IService<ProductBuyRecord> {
    /**
     * 查询收费服务产品购买记录
     *
     * @param req
     * @return
     */
    IPage<ProductBuyRecordSystemPageRes> queryProductBuyRecordSystemPage(ProductBuyRecordSystemPageReq req);

    /**
     * 查询收费服务产品购买记录详情
     *
     * @param id
     * @return
     */
    ProductBuyRecordSystemDetailRes queryProductBuyRecordSystemDetail(Integer id);

    /**
     * 查询服务产品购买记录弹幕
     *
     * @param req
     * @return
     */
    IPage<ProductBuyRecordBarragePageRes> queryProductBuyRecordBarragePage(PageReq req);

    /**
     * 医生查询收费服务产品购买记录
     *
     * @param req
     * @return
     */
    IPage<ProductBuyRecordDoctorPageRes> queryProductBuyRecordDoctorPage(ProductBuyRecordDoctorPageReq req);

    /**
     * 查询当前使用中产品
     *
     * @param doctorId
     * @return
     */
    ProductBuyRecord queryUseProductBuyRecord(Integer doctorId);
}
